﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MedicalAdviser.DataTypes;
using MedicalAdviser.DataTypes.DomainObjects;
using MedicalAdviser.DataTypes.WsTypes;
using Int = MedicalAdviser.Interfaces;


namespace MedicalAdviser.HtppProxy.HttpOperations
{
    public class ProxyDrugAdviser : Int.IProxy
    {

        private string _baseAdress;

        #region Implementation of IAdviserOperations

        public string DoWork()
        {
            throw new NotImplementedException();
        }

        public string GetMyName(string id)
        {
            throw new NotImplementedException();
        }

        public ServiceOut<Auth> Login(Auth auth)
        {
            throw new NotImplementedException();
        }

        public ServiceOut<Auth> Logout(Auth auth)
        {
            throw new NotImplementedException();
        }

        public ServiceOut<List<CdoDrug>> QuickSearch(SearchDrug search)
        {
            try
            {
                return  Operations.Post<ServiceOut<List<CdoDrug>>,SearchDrug>(_baseAdress, Endpoints.QUICK_SEARCH, search);
            }
            catch (Exception ex)
            {
                
                throw ex;
            }
        }

        public ServiceOut<SearchResult> RefinedSearch(SearchDrug search)
        {
            throw new NotImplementedException();
        }

        public ServiceOut<SearchResult> ReccomendDrug(AppInteration tInput)
        {
            throw new NotImplementedException();
        }

        public ServiceOut<SearchResult> ViewDrug(AppInteration tInput)
        {
            throw new NotImplementedException();
        }

        public ServiceOut<SearchResult> OpenDrug(AppInteration tInput)
        {
            throw new NotImplementedException();
        }

        public ServiceOut<SearchResult> EquivalentsLowCostDrugs(AppInteration tInput)
        {
            throw new NotImplementedException();
        }

        public ServiceOut<SearchResult> EquivalentMostRecommendationDrugs(AppInteration tInput)
        {
            throw new NotImplementedException();
        }

        public ServiceOut<List<PriceHistory>> PriceVariations(AppInteration tInput)
        {
            throw new NotImplementedException();
        }

        public void SetBaseUrl(String url)
        {
            _baseAdress = url;
        }

        #endregion
    }
}
